package top.tangyh.lamp.care.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import java.time.LocalDateTime;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import static com.baomidou.mybatisplus.annotation.SqlCondition.EQUAL;
import static top.tangyh.lamp.model.constant.Condition.LIKE;
import top.tangyh.basic.base.entity.Entity;


/**
 * <p>
 * 实体类
 * 手术信息
 * </p>
 *
 * @author zqb
 * @date 2024-12-18 09:48:00
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
@Builder
@TableName("his_operation")
public class HisOperation extends Entity<Long> {
    private static final long serialVersionUID = 1L;


    /**
     * 姓名
     */
    @TableField(value = "name", condition = LIKE)
    @Schema(description = "姓名")
    private String name;
    /**
     * 性别
     */
    @TableField(value = "sex", condition = EQUAL)
    @Schema(description = "性别")
    private Integer sex;
    /**
     * 年龄
     */
    @TableField(value = "age", condition = EQUAL)
    @Schema(description = "年龄")
    private Integer age;
    /**
     * 病人出生日期
     */
    @TableField(value = "date_of_birth", condition = EQUAL)
    @Schema(description = "病人出生日期")
    private LocalDateTime dateOfBirth;
    /**
     * 患者科室编号
     */
    @TableField(value = "dept_id", condition = EQUAL)
    @Schema(description = "患者科室编号")
    private Integer deptId;
    /**
     * 患者科室编码
     */
    @TableField(value = "depe_code", condition = EQUAL)
    @Schema(description = "患者科室编码")
    private Integer depeCode;
    /**
     * 患者科室名称
     */
    @TableField(value = "dept_name", condition = LIKE)
    @Schema(description = "患者科室名称")
    private String deptName;
    /**
     * 病人识别号
     */
    @TableField(value = "pat_id", condition = EQUAL)
    @Schema(description = "病人识别号")
    private Integer patId;
    /**
     * 病人来源
     */
    @TableField(value = "source_type", condition = EQUAL)
    @Schema(description = "病人来源")
    private Integer sourceType;
    /**
     * 入手术室时间
     */
    @TableField(value = "begin_time", condition = EQUAL)
    @Schema(description = "入手术室时间")
    private LocalDateTime beginTime;
    /**
     * 出手术室时间
     */
    @TableField(value = "end_time", condition = EQUAL)
    @Schema(description = "出手术室时间")
    private LocalDateTime endTime;
    /**
     * 过敏史
     */
    @TableField(value = "allergy", condition = LIKE)
    @Schema(description = "过敏史")
    private String allergy;
    /**
     * 患者住院号
     */
    @TableField(value = "reg_id", condition = EQUAL)
    @Schema(description = "患者住院号")
    private Long regId;
    /**
     * 手术申请单号
     */
    @TableField(value = "request_no", condition = EQUAL)
    @Schema(description = "手术申请单号")
    private Long requestNo;
    /**
     * 手术申请单明序号
     */
    @TableField(value = "ops_seq", condition = EQUAL)
    @Schema(description = "手术申请单明序号")
    private Integer opsSeq;
    /**
     * 床位号
     */
    @TableField(value = "bed_id", condition = EQUAL)
    @Schema(description = "床位号")
    private Integer bedId;
    /**
     * 手术安排时间
     */
    @TableField(value = "arrange_ops_time", condition = EQUAL)
    @Schema(description = "手术安排时间")
    private LocalDateTime arrangeOpsTime;
    /**
     * 预约时间
     */
    @TableField(value = "resv_time", condition = EQUAL)
    @Schema(description = "预约时间")
    private LocalDateTime resvTime;
    /**
     * 手术房间
     */
    @TableField(value = "room_id1", condition = EQUAL)
    @Schema(description = "手术房间")
    private Integer roomId1;
    /**
     * 主刀医生
     */
    @TableField(value = "surgeon_doctor", condition = EQUAL)
    @Schema(description = "主刀医生")
    private Integer surgeonDoctor;
    /**
     * 术前诊断
     */
    @TableField(value = "diag", condition = LIKE)
    @Schema(description = "术前诊断")
    private String diag;
    /**
     * 术后诊断
     */
    @TableField(value = "after_diag", condition = LIKE)
    @Schema(description = "术后诊断")
    private String afterDiag;
    /**
     * 手术编码
     */
    @TableField(value = "surgery_code", condition = LIKE)
    @Schema(description = "手术编码")
    private String surgeryCode;
    /**
     * 拟施手术
     */
    @TableField(value = "proposed_surgery", condition = LIKE)
    @Schema(description = "拟施手术")
    private String proposedSurgery;
    /**
     * 申请状态
     */
    @TableField(value = "state", condition = EQUAL)
    @Schema(description = "申请状态")
    private Integer state;
    /**
     * 择急
     */
    @TableField(value = "is_eme", condition = EQUAL)
    @Schema(description = "择急")
    private Integer isEme;
    /**
     * 手术部位
     */
    @TableField(value = "ops_parts", condition = EQUAL)
    @Schema(description = "手术部位")
    private Integer opsParts;
    /**
     * 麻醉方式
     */
    @TableField(value = "anesthesia_methods", condition = LIKE)
    @Schema(description = "麻醉方式")
    private String anesthesiaMethods;
    /**
     * 麻醉方式编码
     */
    @TableField(value = "anesthesia_methods_code", condition = LIKE)
    @Schema(description = "麻醉方式编码")
    private String anesthesiaMethodsCode;
    /**
     * 申请时间
     */
    @TableField(value = "audit_time", condition = EQUAL)
    @Schema(description = "申请时间")
    private LocalDateTime auditTime;
    /**
     * 申请人工号
     */
    @TableField(value = "req_doctor", condition = EQUAL)
    @Schema(description = "申请人工号")
    private Integer reqDoctor;
    /**
     * 申请人姓名
     */
    @TableField(value = "applicant_name", condition = LIKE)
    @Schema(description = "申请人姓名")
    private String applicantName;
    /**
     * 手术要求
     */
    @TableField(value = "ops_require", condition = LIKE)
    @Schema(description = "手术要求")
    private String opsRequire;
    /**
     * 安排时间
     */
    @TableField(value = "arrange_ops_time1", condition = EQUAL)
    @Schema(description = "安排时间")
    private LocalDateTime arrangeOpsTime1;
    /**
     * 医生手术排班状态
     */
    @TableField(value = "doc_scheduling", condition = LIKE)
    @Schema(description = "医生手术排班状态")
    private String docScheduling;
    /**
     * 护士手术排班状态
     */
    @TableField(value = "nur_scheduling", condition = LIKE)
    @Schema(description = "护士手术排班状态")
    private String nurScheduling;
    /**
     * 手术状态（用来判断患者是否做过手术）
     */
    @TableField(value = "is_again", condition = EQUAL)
    @Schema(description = "手术状态（用来判断患者是否做过手术）")
    private Integer isAgain;
    /**
     * 麻醉方式
     */
    @TableField(value = "anes_way_name", condition = LIKE)
    @Schema(description = "麻醉方式")
    private String anesWayName;
    /**
     * 护理方式
     */
    @TableField(value = "nursing_methods", condition = LIKE)
    @Schema(description = "护理方式")
    private String nursingMethods;
    /**
     * 护士长操作工号
     */
    @TableField(value = "head_nurse", condition = LIKE)
    @Schema(description = "护士长操作工号")
    private String headNurse;
    /**
     * 医生操作工号
     */
    @TableField(value = "doc_id", condition = LIKE)
    @Schema(description = "医生操作工号")
    private String docId;
    /**
     * 医生操作时间
     */
    @TableField(value = "doc_time", condition = LIKE)
    @Schema(description = "医生操作时间")
    private String docTime;
    /**
     * 麻醉单ASA分级
     */
    @TableField(value = "asa_level", condition = EQUAL)
    @Schema(description = "麻醉单ASA分级")
    private Integer asaLevel;
    /**
     * 麻醉手术体位
     */
    @TableField(value = "ops_posture", condition = EQUAL)
    @Schema(description = "麻醉手术体位")
    private Integer opsPosture;
    /**
     * 手术间id
     */
    @TableField(value = "room_id", condition = EQUAL)
    @Schema(description = "手术间id")
    private Integer roomId;
    /**
     * 手术间编号
     */
    @TableField(value = "room_code", condition = EQUAL)
    @Schema(description = "手术间编号")
    private Integer roomCode;
    /**
     * 手术间名称
     */
    @TableField(value = "room_name", condition = LIKE)
    @Schema(description = "手术间名称")
    private String roomName;
    /**
     * 手术台数
     */
    @TableField(value = "ops_seq2", condition = EQUAL)
    @Schema(description = "手术台数")
    private Integer opsSeq2;
    /**
     * 主麻工号
     */
    @TableField(value = "ansisiter_empid1", condition = EQUAL)
    @Schema(description = "主麻工号")
    private Integer ansisiterEmpid1;
    /**
     * 主麻姓名
     */
    @TableField(value = "ansisiter_name1", condition = LIKE)
    @Schema(description = "主麻姓名")
    private String ansisiterName1;
    /**
     * 副麻工号
     */
    @TableField(value = "ansisiter_empid2", condition = EQUAL)
    @Schema(description = "副麻工号")
    private Integer ansisiterEmpid2;
    /**
     * 副麻姓名
     */
    @TableField(value = "ansisiter_name2", condition = LIKE)
    @Schema(description = "副麻姓名")
    private String ansisiterName2;
    /**
     * 洗手护士工号1
     */
    @TableField(value = "washing_nurse_empid1", condition = EQUAL)
    @Schema(description = "洗手护士工号1")
    private Integer washingNurseEmpid1;
    /**
     * 洗手护士1姓名
     */
    @TableField(value = "washing_nurse_name1", condition = LIKE)
    @Schema(description = "洗手护士1姓名")
    private String washingNurseName1;
    /**
     * 洗手护士工号2
     */
    @TableField(value = "washing_nurse_empid2", condition = EQUAL)
    @Schema(description = "洗手护士工号2")
    private Integer washingNurseEmpid2;
    /**
     * 洗手护士2姓名
     */
    @TableField(value = "washing_nurse_name2", condition = LIKE)
    @Schema(description = "洗手护士2姓名")
    private String washingNurseName2;
    /**
     * 巡回护士工号1
     */
    @TableField(value = "touring_nurse_empid1", condition = EQUAL)
    @Schema(description = "巡回护士工号1")
    private Integer touringNurseEmpid1;
    /**
     * 巡回护士1姓名
     */
    @TableField(value = "touring_nurse_name1", condition = LIKE)
    @Schema(description = "巡回护士1姓名")
    private String touringNurseName1;
    /**
     * 巡回护士工号2
     */
    @TableField(value = "touring_nurse_empid2", condition = EQUAL)
    @Schema(description = "巡回护士工号2")
    private Integer touringNurseEmpid2;
    /**
     * 巡回护士2姓名
     */
    @TableField(value = "touring_nurse_name2", condition = LIKE)
    @Schema(description = "巡回护士2姓名")
    private String touringNurseName2;
    /**
     * 巡回护士工号3
     */
    @TableField(value = "touring_nurse_empid3", condition = EQUAL)
    @Schema(description = "巡回护士工号3")
    private Integer touringNurseEmpid3;
    /**
     * 巡回护士3姓名
     */
    @TableField(value = "touring_nurse_name3", condition = LIKE)
    @Schema(description = "巡回护士3姓名")
    private String touringNurseName3;
    /**
     * 器械护士1工号
     */
    @TableField(value = "instrument_nurse_empid1", condition = LIKE)
    @Schema(description = "器械护士1工号")
    private String instrumentNurseEmpid1;
    /**
     * 器械护士1姓名
     */
    @TableField(value = "instrument_nurse_name1", condition = LIKE)
    @Schema(description = "器械护士1姓名")
    private String instrumentNurseName1;
    /**
     * 器械护士2工号
     */
    @TableField(value = "instrument_nurse_empid2", condition = LIKE)
    @Schema(description = "器械护士2工号")
    private String instrumentNurseEmpid2;
    /**
     * 器械护士2姓名
     */
    @TableField(value = "instrument_nurse_name2", condition = LIKE)
    @Schema(description = "器械护士2姓名")
    private String instrumentNurseName2;
    /**
     * 器械护士3工号
     */
    @TableField(value = "instrument_nurse_empid3", condition = LIKE)
    @Schema(description = "器械护士3工号")
    private String instrumentNurseEmpid3;
    /**
     * 器械护士3姓名
     */
    @TableField(value = "instrument_nurse_name3", condition = LIKE)
    @Schema(description = "器械护士3姓名")
    private String instrumentNurseName3;
    /**
     * 手术医生工号
     */
    @TableField(value = "ops_partici_empid1", condition = EQUAL)
    @Schema(description = "手术医生工号")
    private Integer opsParticiEmpid1;
    /**
     * 手术医生姓名
     */
    @TableField(value = "ops_partici_name1", condition = LIKE)
    @Schema(description = "手术医生姓名")
    private String opsParticiName1;
    /**
     * 手术助手1工号
     */
    @TableField(value = "ops_partici_empid2", condition = EQUAL)
    @Schema(description = "手术助手1工号")
    private Integer opsParticiEmpid2;
    /**
     * 手术助手1姓名
     */
    @TableField(value = "ops_partici_name2", condition = LIKE)
    @Schema(description = "手术助手1姓名")
    private String opsParticiName2;
    /**
     * 手术助手2工号
     */
    @TableField(value = "ops_partici_empid3", condition = EQUAL)
    @Schema(description = "手术助手2工号")
    private Integer opsParticiEmpid3;
    /**
     * 手术助手2姓名
     */
    @TableField(value = "ops_partici_name3", condition = LIKE)
    @Schema(description = "手术助手2姓名")
    private String opsParticiName3;
    /**
     * 体温
     */
    @TableField(value = "bt", condition = LIKE)
    @Schema(description = "体温")
    private String bt;
    /**
     * 身高
     */
    @TableField(value = "height", condition = LIKE)
    @Schema(description = "身高")
    private String height;
    /**
     * 体重
     */
    @TableField(value = "weight", condition = LIKE)
    @Schema(description = "体重")
    private String weight;
    /**
     * 无创收缩压
     */
    @TableField(value = "sbp", condition = LIKE)
    @Schema(description = "无创收缩压")
    private String sbp;
    /**
     * 无创舒张压
     */
    @TableField(value = "dbp", condition = LIKE)
    @Schema(description = "无创舒张压")
    private String dbp;
    /**
     * 每分钟呼吸次数
     */
    @TableField(value = "r", condition = LIKE)
    @Schema(description = "每分钟呼吸次数")
    private String r;
    /**
     * 每分钟脉搏次数
     */
    @TableField(value = "p", condition = LIKE)
    @Schema(description = "每分钟脉搏次数")
    private String p;
    /**
     * 手术执行科室名
     */
    @TableField(value = "ward_name", condition = LIKE)
    @Schema(description = "手术执行科室名")
    private String wardName;
    /**
     * 日间手术
     */
    @TableField(value = "is_ambulatory_surgery", condition = EQUAL)
    @Schema(description = "日间手术")
    private Integer isAmbulatorySurgery;
    /**
     * 手术来源，1--门诊，2--住院
     */
    @TableField(value = "source_type2", condition = EQUAL)
    @Schema(description = "手术来源，1--门诊，2--住院")
    private Integer sourceType2;
    /**
     * 麻醉方式国标码
     */
    @TableField(value = "anes_type", condition = LIKE)
    @Schema(description = "麻醉方式国标码")
    private String anesType;
    /**
     * 主手术隔离标识
     */
    @TableField(value = "isolation_sign", condition = LIKE)
    @Schema(description = "主手术隔离标识")
    private String isolationSign;
    /**
     * 手术级别编码
     */
    @TableField(value = "ops_heal_grade", condition = EQUAL)
    @Schema(description = "手术级别编码")
    private Integer opsHealGrade;
    /**
     * 手术级别名称
     */
    @TableField(value = "ops_heal_name", condition = LIKE)
    @Schema(description = "手术级别名称")
    private String opsHealName;
    /**
     * 病人身份证号
     */
    @TableField(value = "id_card", condition = LIKE)
    @Schema(description = "病人身份证号")
    private String idCard;
    /**
     * 社保编号
     */
    @TableField(value = "social_security_code", condition = LIKE)
    @Schema(description = "社保编号")
    private String socialSecurityCode;
    /**
     * 医保卡号
     */
    @TableField(value = "card_data", condition = LIKE)
    @Schema(description = "医保卡号")
    private String cardData;
    /**
     * 患者电话
     */
    @TableField(value = "tele_phone", condition = LIKE)
    @Schema(description = "患者电话")
    private String telePhone;
    /**
     * 患者地址
     */
    @TableField(value = "addr", condition = LIKE)
    @Schema(description = "患者地址")
    private String addr;
    /**
     * 医疗费用
     */
    @TableField(value = "amount", condition = LIKE)
    @Schema(description = "医疗费用")
    private String amount;
    /**
     * 实际麻醉指导工号
     */
    @TableField(value = "ansisiter_empid", condition = LIKE)
    @Schema(description = "实际麻醉指导工号")
    private String ansisiterEmpid;
    /**
     * 实际麻醉指导姓名
     */
    @TableField(value = "ansisiter_name", condition = LIKE)
    @Schema(description = "实际麻醉指导姓名")
    private String ansisiterName;
    /**
     * 手术名称
     */
    @TableField(value = "ops_name", condition = LIKE)
    @Schema(description = "手术名称")
    private String opsName;
    /**
     * 麻醉级别
     */
    @TableField(value = "anes_effect", condition = EQUAL)
    @Schema(description = "麻醉级别")
    private Integer anesEffect;
    /**
     * 数据创建时间（his同步用）
     */
    @TableField(value = "modify_time", condition = EQUAL)
    @Schema(description = "数据更新时间（his同步用）")
    private LocalDateTime modifyTime;
    /**
     * 数据更新时间（his同步用）
     */
    @TableField(value = "create_time", condition = EQUAL)
    @Schema(description = "数据创建时间 （his同步用）")
    private LocalDateTime createTime;



}
